Substitute string with placeholder values coming from JSON object

how to pass dynamic value in json string
java json with placeholders
replace json value in java
javascript string placeholder
jquery input placeholder value
json variable substitution
javascript string placeholder text
how to set json value in java

I have a string "Good $timeOfTheDay$, $name$"

$timeOfTheDay$ and $name$ are placeholders whose values are contained in a JSON object.

var content = { "timeOfTheDay" : "evening",
                "name" : "Jack",  
                "city" : "New York",  
                "age" : "25",  

Want to substitute the placeholders in the string with the values from the JSON object. The resulting string would be: "Good evening, Jack"

Want to do this in javascript. This does not involve any interaction with the DOM.

I'm guessing the brute force way to do it would be via writing JS code to do the replace but is there a library or another way to do this?

Appreciate any ideas/help. Thanks!

The extended solution using String.split, String.replace, and Array.join functions:

var content = {"timeOfTheDay" : "evening", "name" : "Jack", "city" : "New York", "age" : "25"},
    str = "Good $timeOfTheDay$, $name$", replaced = "";

var parts = str.split(/(\$\w+?\$)/g).map(function(v) {
    replaced = v.replace(/\$/g,"");
    return content[replaced] || replaced; 

console.log(parts.join(""));  // "Good evening, Jack"

Additional example:

str = "$name$ lives in $city$. He is $age$";
console.log(parts.join(""));  // "Jack lives in New York. He is 25"

[solved] How to pass a JSON with placeholder as parameter?, Basically I want to pass a configuration-json to a function and then let it build a as a JSON string and do a replace on the string with your value, but _id) { throw new Error("at least one object doesn't have _id"); } if (objAfter. JSON objects are surrounded by curly braces {}. JSON objects are written in key/value pairs. Keys must be strings, and values must be a valid JSON data type (string, number, object, array, boolean or null). Keys and values are separated by a colon. Each key/value pair is separated by a comma.

Just use String.prototype.replace function

var content = { "timeOfTheDay": "evening", "name": "Jack", "city": "New York", "age": "25", }

var str = "Good $timeOfTheDay$, $name$"

var result = str.replace('$timeOfTheDay$', content.timeOfTheDay)


[Solved] Replace placeholder with value from JSON object , The current, more robust function looks like this. Hide Expand Copy Code. function renderConstruct(datas, target, prototype)� For an answer suiting the particular OP's requirement, you could use String.prototype.replace() for the replacements.. The following code will handle all matches and not touch ones without a replacement (so long as your replacement values are all strings, if not, see below).

var content = { "timeOfTheDay" : "evening",
                "name" : "Jack",  
                "city" : "New York",  
                "age" : "25",  
document.getElementById('greeting').placeholder = 'Good ' + content.timeOfTheDay + ', ';
<input id='greeting'>

json-placeholder-replacer, comes a situation where for whatever reason I cannot simply use #include. However, when i use; the object is brought in as a string, like this: a replacer function to replace those with JSON values. Use null as a placeholder. You can see how this string replacement becomes quite complex. The placeholders used by String.Format are zero based which means the first argument always corresponds to the {0} placeholder. This becomes difficult when you want to "nest" variables with placeholders like we did above. A much better solution would be to name our placeholders.

This library can be useful for replacing placeholder. This could also be used to recursively replace placeholders.


nameJson= { "first":"John", "last":"Doe" }

var fullName = substitutor('My name is {first} {last} ', nameJson);

Solved: Convert string (string of JSON) to JSON object?, Syntactically these are strings that use backticks ( i.e. ` ) instead of single (') or template string literals plus the values of all the placeholder expressions and� >>But how I get the Value from the SignInNames? jsonObj["signInNames"] is a JArray that contains JTokens so this should work: foreach (var value in values) { User

If you want to use ${var} convension:

var content = {
  timeOfTheDay: 'evening',
  name: 'Jack',
  city: 'New York',
  age: '25'

var str = 'Good ${timeOfTheDay}, ${name}. I am from ${city}, ${age} years old';

var parts = str.split(/(\$\{\w+?})/g).map(function(v) {
  var replaced = v.replace(/\$\{(\w+?)}/g, '$1');
  return content[replaced] || v;



Good evening, Jack. I am from New York, 25 years old

Template Strings - TypeScript Deep Dive, Listing 3-13 utilizes the replace method to substitute all found a string object adds great value, it comes at the cost of its syntactical overhead. Simply enough, the placeholder syntax is none other than the reference to a key,. Update. Bamboo does not parse variable content in any way, i.e. the content is always just a string. The problem you are encountering is passing a JSON string as a parameter to AWS CloudFormation via the AWS CloudFormation Stack task, which expects those parameters to be passed into the Parameters field as a JSON string in turn, e.g.:

Parsing JSON, JSON=\''{"hostname": "localhost", "outdir": "'"$OUTDIR"'", "port": 20400, "size": 100000}'\'. That is get out of the single quotes for the expansion of $OUTDIR . This is really out of scope for JSON libraries, since JSON format itself has no support or notion of variable substitution. Your best bet may be to use a JSON library (like Jackson) to get a tree representation (for Jackson that would be JsonNode), then traverse it, and use another library for handling textual substitution.

Bash variable substitution in a JSON string, #jsonSub Lightweight module for substitution in json object. Use {{ placeholder}} (double curly braces) to define your placeholder in the� The JSON string you get is not a list, but an object which has a list on a nested level. You will have to deserialize the outermost structure and then get the respective nested property. You can either define a whole class representing the complete structure of your data, or, if you are only interested in the List of Houses, just use JObjects

bluedge/json-sub: Substitute placeholders in json, Sed is a stream editor, meaning you can search and replace strings in files and use regex This is especially good for replacing placeholder values in configuration files. As OS X branched from Next, and Next came from BSD, uses OS X the object, pagespeed, php, plugins, preg_match, regular expression, RequireJS,� Non-string types in the second argument’s List are implicitly converted to strings, respecting the toString() method overrides that exist on the type. fromCharArray(charArray) Returns a String from the values of the list of integers. getChars() Returns an array of character values that represent the characters in this string.