### Elasticsearch Version

8.6.0

### Installed Plugins

_No response_

### Java Version

_bundled_ (Elastic Cloud)

### OS Version

N/A (Elastic Cloud)

### Problem Description

The Elasticsearch's JSON Processor is not producing errors when dealing with texts that starts with integers (in general, strings that match the regular expression `/\d+(\s+.*)?/`). In these cases, instead of producing errors, the JSON Processor parses as a integer number the first number encountered. Some examples:

| INPUT  | OUTPUT |
| ------------- | ------------- |
| `"0"`    | `0` |
| `"123 foo"`  | `123`  |
| `"45 this is {\"a\": \"json\"}"`  | `45` |


### Steps to Reproduce

To reproduce the bug we can create a pipeline that only contains the JSON-Processor:

```json
PUT _ingest/pipeline/test-json
{
  "processors": [
    {
      "json": {
        "field": "message",
        "target_field": "test"
      }
    }
  ]
}
```

And simulate the result with the following body (in the table other examples are shown):

```json
GET _ingest/pipeline/test-json/_simulate
{
  "docs": [
    {
      "_source": {
        "message":"0"
      }
    }
  ]
}
```
The result is the following one:

```json
{
  "docs": [
    {
      "doc": {
        "_index": "_index",
        "_id": "_id",
        "_version": "-3",
        "_source": {
          "message": "0",
          "test": 0
        },
        "_ingest": {
          "timestamp": "2023-01-13T08:31:49.758255214Z"
        }
      }
    }
  ]
```

Note that `test` (i.e., the `target_field`) contains an integer and the JSON-Processor did not produced an error. This behavior is unexpected and can lead to documents to not be indexed because `target_field` is of type long instead of Object.



### Logs (if relevant)

_No response_
modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/JsonProcessorTests.java
/*
 * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
 * or more contributor license agreements. Licensed under the Elastic License
 * 2.0 and the Server Side Public License, v 1; you may not use this file except
 * in compliance with, at your election, the Elastic License 2.0 or the Server
 * Side Public License, v 1.
 */
package org.elasticsearch.ingest.common;
import org.elasticsearch.common.bytes.BytesReference;
import org.elasticsearch.common.xcontent.XContentHelper;
import org.elasticsearch.ingest.IngestDocument;
import org.elasticsearch.ingest.RandomDocumentPicks;
import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.xcontent.XContentBuilder;
import org.elasticsearch.xcontent.XContentType;
import org.elasticsearch.xcontent.json.JsonXContent;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.elasticsearch.ingest.common.JsonProcessor.ConflictStrategy.MERGE;
import static org.elasticsearch.ingest.common.JsonProcessor.ConflictStrategy.REPLACE;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo;
public class JsonProcessorTests extends ESTestCase {